草庐IT

MySQL LIMIT 和 GROUP BY 与 JOIN

全部标签

python - 如何从 GroupBy.apply() 中删除多索引?

基于thisquestion.df=pandas.DataFrame([[2001,"Jack",77],[2005,"Jack",44],[2001,"Jill",93]],columns=['Year','Name','Value'])YearNameValue02001Jack7712005Jack4422001Jill93ForeachuniqueName,IwouldliketokeeptherowwiththelargestYearvalue.IntheaboveexampleIwouldliketogetthetableYearNameValue02005Jack4412

进行 groupby 计数时出现 python pandas 错误

当对多列进行groupby计数时,出现错误。这是我的数据框,也是一个简单标记不同“b”和“c”组的示例。df=pd.DataFrame(np.random.randint(0,2,(4,4)),columns=['a','b','c','d'])df['gr']=df.groupby(['b','c']).grouper.group_info[0]printdfabcdgr001001111102200100311112然而,当示例稍作更改以便调用count()而不是grouper.group_info[0]时,会出现错误。df=pd.DataFrame(np.random.randi

python - 如何计算 pandas groupby 中的所有正值和负值?

假设我们有一张表:df=pd.DataFrame({'A':['foo','bar','foo','bar','foo','bar','foo','foo'],'B':['one','one','two','three','two','two','one','three'],'C':np.random.randn(8),'D':np.random.randn(8)})输出:ABCD0fooone-1.3040260.2370451barone0.030488-0.6729312footwo0.530976-0.6695593barthree-0.004624-1.6040394foot

python - Pandas - groupby 具有另一列条件的列

关于如何根据条件对多个列值进行分组,我正在与pandas作斗争:这是我的数据作为pandas数据框的样子:idtriggertimestamp1started2017-10-0114:00:11ended2017-10-0412:00:12started2017-10-0210:00:11started2017-10-0311:00:12ended2017-10-0412:00:12started2017-10-0515:00:11ended2017-10-0516:00:12ended2017-10-0517:00:1我的目标是找出按id分组的日期之间的天/小时或分钟差异。我的输出应

python - Pandas groupby 结果分为多列

我有一个数据框,我希望在其中对组内的值进行分组,然后将其划分为多个列。例如:假设我有以下数据框:>>>importpandasaspd>>>importnumpyasnp>>>df=pd.DataFrame()>>>df['Group']=['A','C','B','A','C','C']>>>df['ID']=[1,2,3,4,5,6]>>>df['Value']=np.random.randint(1,100,6)>>>dfGroupIDValue0A1661C222B3983A4904C5855C638>>>我想对“组”字段进行分组,获取“值”字段的总和,并获取新字段,每个字段都

python - 如何在 pandas groupby 中聚合多列

我使用以下输入创建了一个pandas数据框mn:keyAstaten1n2d1d2key1CA100100012key2FL200200024key1CA300300036key1AL400400048key2FL500500052key1NY600600064key2CA700700076创建了一个sum对象如下:s=mn.groupby(['keyA','state'],as_index=False).sum()如何迭代总和对象s,以便获得以下输出:下面结果中的v1列计算为s['n1']/s['d1']下面结果中的v2列计算为s['n2']/s['d2']keyAstatev1v2

python - 如何在 DataFrame 的 groupby 中增加行数

我需要计算pandasDataFrame中每个产品的activity_months数。到目前为止,这是我的数据和代码:frompandasimportDataFramefromdatetimeimportdatetimedata=[('product_a','08/31/2013'),('product_b','08/31/2013'),('product_c','08/31/2013'),('product_a','09/30/2013'),('product_b','09/30/2013'),('product_c','09/30/2013'),('product_a','10/3

python - Pandas.groupby.apply() 内存泄漏?

我目前正在将Pandas用于一个csv源文件约为600mb的项目。在分析过程中,我正在将csv读入数据框,在某些列上分组并将一个简单的函数应用于分组的数据框。我注意到我在这个过程中进入了交换内存,所以进行了一个基本测试:我首先在shell中创建了一个相当大的数据框:importpandasaspdimportnumpyasnpdf=pd.DataFrame(np.random.randn(3000000,3),index=range(3000000),columns=['a','b','c'])我定义了一个名为do_nothing()的毫无意义的函数:defdo_nothing(gro

python - Pandas groupby 对象过滤

我有一个Pandas数据框df.columnsIndex([u’car_id’,u’color’,u’make’,u’year’)]我想创建一个新的FILTERABLE对象,其中包含每个组(颜色、品牌、年份)的计数;grp=df[[‘color’,’make’,’year’]].groupby([‘color’,’make’,’year’]).size()它会返回这样的东西colormakeyearcountblackhonda2011416我希望能够过滤它,但是当我尝试这样做时:grp.filter(lambdax:x[‘color’]==‘black’)我收到这个错误TypeErr

python - pandas groupby 方法实际上是如何工作的?

所以我试图理解pandas.dataFrame.groupby()函数,我在文档中看到了这个例子:In[1]:df=pd.DataFrame({'A':['foo','bar','foo','bar',...:'foo','bar','foo','foo'],...:'B':['one','one','two','three',...:'two','two','one','three'],...:'C':np.random.randn(8),...:'D':np.random.randn(8)})...:In[2]:dfOut[2]:ABCD0fooone0.469112-0.8618